головне меню список тем тестування презентації історія створення

 

7.4. Пам'ять персонального комп'ютера

Як і в будь-якій іншій мікропроцесорній системі, пам'ять персонального комп'ютера складається з двох частин: оперативної пам'яті і постійної пам'яті. Обидві частини розташовано в адресному просторі пам'яті, до обох комп'ютер може звертатися однаковим чином. Обидві пам'яті допускають звернення до окремих байтів, 16-розрядним словам (має парні адреси), до 32-розрядних подвійних слів (має адреси, кратні чотирьом) і до 64-розрядних збільшених учетверо слів (має адреси, кратні восьми). Відмінність тільки в тому, що оперативну пам'ять використовують для тимчасового зберігання програм і даних, а в постійній пам'яті зберігаються програми початкового запуску, початкового самотестування комп'ютера, а також набір програм вводу/виводу нижнього рівня, тобто те, що не повинне втрачатися при виключенні живлення комп'ютера. Об'єм оперативної пам'яті набагато більший, ніж постійної пам'яті.

7.4.1. Оперативна пам'ять

Оперативна пам'ять займає значну частину адресного простору комп'ютера. Її встановлений об'єм і швидкодія роблять величезний вплив на швидкодію персонального комп'ютера в цілому (деколи навіть більше, ніж швидкість процесора). Надійність її роботи багато в чому визначає надійність всього комп'ютера. Тому всіма розробниками їй надається велика увага.
Всі персональні комп'ютери використовують оперативну пам'ять динамічного типу (DRAM - Dynamic Random Access Memory), основною перевагою якої перед статичною оперативною пам'яттю (SRAM - Static RAM) є низька ціна. Це зв'язано з тим, що якщо елемент статичної пам'яті (трігер) вимагає 4-6 транзисторів, то елемент динамічної пам'яті - це інтегральний конденсатор, для обслуговування якого потрібні 1-2 транзистори. Звідси ж слідують два основні недоліки динамічної пам'яті: вона вимагає регенерації (тобто постійного відновлення заряду на конденсаторі, що розряджається) і має у декілька разів меншу швидкодію в порівнянні із статичною пам'яттю. До того ж під час регенерації динамічна пам'ять неприступна для обміну, що також знижує швидкодію комп'ютера. Відзначимо, що зараз звичайно застосовують вбудовану регенерацію, що не вимагає зовнішнього обслуговування, але знову-таки займаючу час.
Перехід на повністю статичну пам'ять дуже сильно підвищив би вартість комп'ютера в цілому (до того ж необхідний об'єм оперативної пам'яті комп'ютера все збільшується), тому статичну пам'ять застосовують тільки в «найвужчих» місцях, там, де без високої швидкості не обійтися, наприклад, для кеш-пам'яті. Що стосується динамічної пам'яті, той її розвиток йде по шляху зниження часу доступу завдяки структурним і технологічним удосконаленням. Наприклад, друге покоління динамічної пам'яті EDO RAM (Extended Data Output RAM) мало швидкодію приблизно на 20-25% вище, ніж у звичайної пам'яті. Це досягається за рахунок того, що наступне звернення до пам'яті можливе ще до завершення попереднього обігу. Третє покоління динамічної пам'яті - SDRAM (Synchronous DRAM) - ще на стільки ж швидше (робоча частота в даний час досягає 133 Мгц). Ще більш швидкодійна пам'ять - DDR SDRAM (частота до 400 Мгц) і пам'ять RDRAM (частота до 1 ГГц і навіть вище).
Для спрощення установки оперативної пам'яті в комп'ютер її виконують у вигляді невеликих модулів - друкарської плати з ножовим (друкарським) роз'ємом, на яку встановлені мікросхеми пам'яті (SIMM - Single In-Line Memory Module). Ці модулі встановлюються в спеціальні SIMM-роз'єми на материнській платі, що дозволяє користувачу легко міняти об'єм пам'яті комп'ютера, враховуючи при цьому необхідний рівень швидкодії, складність вирішуваних задач і свої фінансові можливості. Широко застосовуються 72-контактні SIMM-модулі різного об'єму. Відзначимо, що не рекомендується одночасно використовувати декілька модулів з різною швидкодією: в деяких комп'ютерах це приводить до збоїв. В сучасних комп'ютерах на базі процесорів Pentium застосовуються також модулі DIMM (Dual In-Line Memory Module - модуль пам'яті з двосторонніми друкарськими висновками), що мають 64 біти даних.
Модулі пам'яті іноді підтримують перевірку вмісту пам'яті на парність. Для цього до 8 біт даних кожної адреси пам'яті додається дев'ятий біт парності. Він записується при кожному записі інформації у відповідний байт пам'яті і перевіряється при читанні інформації з відповідного байта пам'яті. Якщо виявляється невідповідність біта парності байту інформації, то виробляється сигнал, що викликає немасковане переривання NMI.
Весь адресний простір пам'яті комп'ютера розділяється на декілька областей, що зв'язане, в першу чергу, з необхідністю забезпечення сумісності з першими комп'ютерами сімейства. В комп'ютері IBM PC XT на процесорі i8088 процесор міг адресувати 1 Мбайт пам'яті (20 адресних розрядів). Але всі програмні і апаратні засоби будувалися виходячи з припущення, що доступний адресний простір - тільки молодші 640 Кбайт (тоді це здавалося цілком достатнім). Дана область пам'яті одержала назву стандартної пам'яті (Conventional memory). Саме в межах ці 640 Кбайт (адреси 0.9FFFF) працює операційна система MS DOS і всі її прикладні програми.
Перші 1024 байти (адреси 0...3FF) зберігають таблицю векторів переривання (Interrupt Vectors) об'ємом 256 подвійних слів, формовану на етапі початкового завантаження. Проте якщо процесор працює в захищеному режимі, таблиця векторів може розташовуватися в будь-якому іншому місці пам'яті.
Адреси 400...4FF відводяться під область змінних BIOS (BIOS Data Area). Докладніше про BIOS буде розказано в наступному розділі.
Адреси 500...9FFFF включають область операційної системи DOS (DOS Area) і пам'ять користувача (User RAM).
Решта від 1 Мбайта пам'яті, а це 384 Кбайта (адреси A0000...FFFFF), зарезервовані під інші системні потреби, називаються UMA (Upper Memory Area) - область верхньої пам'яті або UMB (Upper Memory Blocks) - блоки верхньої пам'яті або High DOS Memory.
Простір відеопам'яті (адреси A0000...BFFFF) містить області для зберігання текстової і графічної інформації відеоадаптера.
Простір пам'яті з адресами E0000...FFFFF відведено під системну постійну пам'ять комп'ютера ROM BIOS.
В цій же області виділено вікно розміром в 64 Кбайта (page frame) з адресами D0000...DFFFF, через яке програми могли діставати доступ до додаткової (що відображається) пам'яті (Expanded memory) об'ємом до 32 Мбайт, залишаючись в межах того ж 1 Мбайта пам'яті, що адресується. Це досягається шляхом почергового відображення чотирьох сторінок по 16 Кбайт з додаткової пам'яті у виділене вікно. При цьому положення сторінок в додатковій пам'яті можна змінювати програмним шляхом. Зрозуміло, що працювати з додатковою пам'яттю менш зручно, ніж з основною, оскільки в кожний момент комп'ютер «бачить» тільки вікно в 64 Кбайт. Тому зараз вона застосовується досить рідко.
В даний час область пам'яті з адресами C0000...DFFFF частіше використовується для оперативної і постійної пам'яті, що входить до складу різних адаптерів і плати розширення комп'ютера.
В результаті логічна організація адресного простору в межах 1 Мбайт вийшла досить складною (мал. 7.10). І таку ж організацію повинні підтримувати всі персональні комп'ютери сімейства IBM PC для забезпечення сумісності з попередніми моделями.




Мал. 7.10. Розподіл адресного простору пам'яті.

При подальшому розширенні простору пам'яті в подальших моделях комп'ютерів, вся пам'ять об'ємом понад 1 Мбайт одержала назву розширеної пам'яті (Extended memory). Для доступу до неї мікропроцесор повинен переходити з реального режиму в захищений і назад. Загальний об'єм пам'яті персонального комп'ютера (верхня межа розширеної пам'яті) може доходити до 16 Мбайт (24 розряди адреси) або до 4 Гбайт (32 розряди адреси).
Особливої уваги заслуговує так звана тіньова пам'ять (Shadow RAM), частина оперативної пам'яті, в яку при запуску комп'ютера переписується вміст постійної пам'яті, і яка зміюєтьсяпід  час роботи комп'ютера. Необхідність даної процедури викликана тим, що навіть порівняно повільна динамічна оперативна пам'ять виявляється все-таки швидшою, ніж постійна пам'ять. Постійна пам'ять часто помітно стримує швидкодію комп'ютера. Тому було запропоновано виділяти частину оперативної пам'яті для виконання обов'язків як системної постійної пам'яті ROM BIOS, так і постійної пам'яті, що входить до складу додаткових адаптерів, які підключаються до комп'ютера. Переписування інформації звичайно передбачено в програмі початкового пуску.
У зв'язку з особливостями роботи динамічної пам'яті для скорочення часу доступу до неї застосовуються спеціальні режими роботи оперативної пам'яті: режим розшарування (інтерлівінг) і сторінковий режим.
Використовування режиму інтерлівінгу припускає не зовсім звичайне розбиття пам'яті на банки (частини). Якщо при звичайному розбитті ( послідовної адресації) адреси наступного банку починаються після закінчення адрес попереднього, то при інтерлівінгу адреси банків чергують. Тобто, наприклад, після першої адреси першого банку слідує перша адреса другого банку, потім друга адреса першого банку і друга адреса другого банку і т.д. Виходить, що в одному банку парні слова, а в іншому - непарні. Таких чергуючих банків може бути не тільки два, а чотири, вісім, шістнадцять. Об'єми банків при цьому повинні бути однаковими. В результаті такого підходу з'являється можливість починати звернення до наступного слова ще до закінчення процесу доступу до попереднього.
Сторінковий режим припускає посторінкову роботу мікросхем пам'яті, коли вибір сторінки проводиться один раз на всю сторінку, а вибір комірки усередині сторінки може відбуватися набагато швидше. Для підтримки обох режимів застосовуються спеціальні технологічні рішення.

Тут же відзначимо, що при заміні пам'яті комп'ютера або при установці додаткових банків пам'яті треба строго слідувати рекомендаціям виготівників системної плати, оскільки порядок заповнення банків може не бути далеко очевидний.

7.4.2. Постійна пам'ять

Системна постійна пам'ять (ПЗП) займає порівняно невеликий об'єм (звичайно 64 Кбайта). Проте її значення для комп'ютера дуже велике. Сама її назва ROM BIOS (ROM Basic Input/Output System) - базова система вводу/виводу - говорить про те, що в ній знаходиться функціонально повний набір програм нижнього рівня для управління пристроями вводу/виводу. Тому навіть до завантаження в оперативну пам'ять виконуваних програм з диска комп'ютер має нагоду обслуговувати клавіатуру, дисплей, подавати звукові сигнали, спілкуватися з дисками і т.д. Важливо відзначити, що більшість сучасних відеоадаптерів, а також контролерів накопичувачів мають власну систему BIOS, яка доповнює або навіть замінює системну BIOS під час основної роботи. Виклик програм BIOS здійснюється через програмні або апаратні переривання, для чого BIOS формує відповідну таблицю векторів переривань. Але цим функції постійної пам'яті не обмежуються.
У принципі, під пам'ять ROM BIOS відведено 128 Кбайт адресного простору пам'яті. В перших комп'ютерах (IBM PC XT) вона займала всього 8 Кбайт, зараз звичайно займає 64 Кбайт. Якщо ж потрібно використовувати системну постійну пам'ять більшого об'єму, то вона по черзі відображається на вікно системної пам'яті розміром 64 Кбайт (адреси F0000...FFFFF). Це пов'язано з прагненням заощадити простір верхньої пам'яті для інших цілей.
При старті комп'ютера після включення живлення, натиснення кнопки на передній панелі RESET або після програмного перезапуску починає виконуватися програма початкового запуску, що також зберігається в постійній пам'яті (початкова адреса FFFF0) . Ця програма включає:

  • програму самотестування комп'ютера (POST - Power On Self Test);
  • програму початкового завантаження операційної системи з відповідного дискового накопичувача комп'ютера;
  • програму завдання поточних параметрів комп'ютера (Setup).

Окрім програми початкового запуску ROM BIOS також обслуговує апаратні переривання від системних пристроїв (таймера, клавіатури, дисків), а також відпрацьовує базові програмні звернення до системних пристроїв.
Відзначимо, що останнім часом ROM BIOS виконується не на мікросхемах власне постійній пам'яті, а на мікросхемах, що допускають багатократний перезапис інформації користувачем EPROM (Erasable Programmable ROM) з електричним перезаписом - типу флэш (flash), що дозволяє більш гнучко настроювати комп'ютер. Користувач може легко модернізувати BIOS свого комп'ютера за допомогою програми перезапису флеш-пам'яті. При використовуванні ж мікросхем ПЗП з ультрафіолетовим стиранням для цього були потрібні спеціальний програматор і стираючий пристрій (ультрафіолетова лампа).
Програма самотестування POST дозволяє проводити найпростішу діагностику основних вузлів комп'ютера, включаючи визначення повного об'єму встановленої оперативної пам'яті. Інформація про її результати виводиться трьома способами:

  • повідомленнями на дисплеї (найбільш наочно і зрозуміло користувачу);
  • звуковими сигналами (що дуже корисне при непрацездатному дисплеї);
  • видачею кодів в певний порт вводу/виводу, звичайно це порт з адресою 080 (на цьому засновані всі діагностичні прилади).

Повідомлення на дисплеї можуть прямо називати знайдену несправність або несправний блок або ж видавати спеціальний код помилки, по якому згодом в прикладеній документації можна знайти причину несправності комп'ютера.
Звукові сигнали не відрізняються особливою різноманітністю, але, проте, дозволяють знайти і ідентифікувати основні помилки.
Використовування спеціальних діагностичних приладів особливо ефективне: за деякими оцінками, з їх допомогою можна знайти до 95% несправностей. Проте їх застосовують тільки спеціальні співробітники сервісних служб.
Починаючи з комп'ютерів на процесорі 80286 (IBM PC AT) постійна пам'ять ROM BIOS обов'язково доповнюється невеликою енергозалежною оперативною пам'яттю CMOS RAM, яка виконана на мікросхемах із зниженим енергоспоживанням з технологією КМОП (CMOS) і при виключенні живлення комп'ютера живиться  від батареї або акумулятора (ця пам'ять, як правило, входить до складу інших мікросхем). В CMOS-пам'яті зберігається інформація про поточні дані годинника (дата і час), про значення часу для будильника, про конфігурацію комп'ютера: пріоритети завантаження з різних накопичувачів, кількості пам'яті, типах накопичувачів, режимах енергоспоживання, про тип дисплея, про установки клавіатури і т.д. CMOS RAM відрізняється від постійної пам'яті тим, що записана в неї інформація легко міняється програмним шляхом.
Задавати всі параметри комп'ютера, що зберігаються в CMOS RAM, дозволяє програма BIOS Setup, викликати яку можна шляхом натиснення призначених клавіш під час процедури початкового завантаження комп'ютера (інформація про це завжди виводиться на екран). В сучасних комп'ютерах дана програма пропонує досить зручний і наочний інтерфейс користувача із звичними меню.
Опис роботи з BIOS Setup будь-якого комп'ютера обов'язково поставляється разом з ним. Іноді за допомогою цієї програми вдається значно підвищити швидкодію комп'ютера завдяки вибору оптимальних (або навіть граничних) для даної конфігурації параметрів: частоти системної шини, кількості тактів затримки при обміні з системною пам'яттю і кеш-пам'яттю.
Програма Setup дозволяє також дозволити або заборонити використовування тіньової (Shadow) пам'яті як для системного BIOS, так і для BIOS адаптерів, що використовуються (по окремих сегментах пам'яті). При використовуванні тіньової пам'яті у вибрану область оперативної пам'яті копіюється вміст BIOS ROM, ця область визначається як доступна тільки для читання, і проводиться переадресація пам'яті. Тобто при будь-якому звертанні за адресами ROM читання даних проводитиметься з відповідних адрес Shadow RAM, а постійна пам'ять вже не використовується. Такий підхід може істотно (іноді в 4 - 5 разів) прискорити вибірку команд для програм обміну з відеоадаптером і з дисковими накопичувачами.
В програмі Setup завжди передбачена можливість установки параметрів комп'ютера за умовчанням (Default Setting). Це особливо зручно у разі розряду або пошкодження батареї або акумулятора.

В нових комп'ютерах, що підтримують режим економії споживаної електроенергії, можна також задавати перехід комп'ютера в режими Doze (сплячий), Standby (очікування або резервний) і Suspend (припинення роботи) за відсутності звернень до вузлів комп'ютера протягом заданого часу. Режими перераховані в порядку зниження споживання електроенергії. Комп'ютери (а також їх системна плата), де застосовуються такі режими, називаються іноді «зеленими».

 

 

попередня тема наступна тема